package com.pdsu.alumni.pojo;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * <p>
 *
 * </p>
 *
 * @author Acerola
 * @since 2021-11-05
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("t_message")
@ApiModel(value = "Message对象", description = "")
public class Message implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "信息编号id")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty(value = "信息标题")
    private String title;

    @ApiModelProperty(value = "作者")
    private String author;

    @ApiModelProperty(value = "发布人姓名")
    private String userName;

    @ApiModelProperty(value = "简介")
    private String miniDescription;

    @ApiModelProperty(value = "内容")
    private String text;

    @ApiModelProperty(value = "来源（微信公众号、订阅号）")
    private String resources;

    @ApiModelProperty(value = "审核人")
    private String examiner;

    @ApiModelProperty(value = "分类路径信息")
    private String typePath;

    @ApiModelProperty(value = "发布人所在院系")
    private String publisherFaculty;

    @ApiModelProperty(value = "发布人角色")
    private String publisherRank;

    @ApiModelProperty(value = "发布人等级")
    private Integer publisherLevel;

    @ApiModelProperty(value = "发布时间")
//    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private String sendTime;

    @ApiModelProperty(value = "状态")
    //状态,1审核通过2未审核3审核失败
    private String state;

    @ApiModelProperty(value = "创建时间")
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    @ApiModelProperty(value = "更新时间")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;

    @ApiModelProperty(value = "逻辑删除,1启用,0删除")
    private Integer deleted;

    @ApiModelProperty(value = "用户头像")
    @TableField(exist = false)
    private String userImg;


    @ApiModelProperty(value = "路径地址集合")
    @TableField(exist = false)
    private List<String> pathList;

    @ApiModelProperty(value = "类型名称")
    @TableField(exist = false)
    private String typeName;

    @ApiModelProperty(value = "封面")
    @TableField(exist = false)
    private String imgSrc;


}
